package com.changpei.search.pojo;

import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 *
 *
 * @author Way on 2021/8/10
 */
@Document(indexName = "content", type = "content")
@Data
public class ContentIndex implements Serializable {


    private static final long serialVersionUID = 3369566972754846799L;

    /**
     * 主键
     */
    @Id
    private Long id;

    /**
     * 内容
     */
    @Field(type = FieldType.Text, analyzer = "ik_max_word")
    private String content;

    /**
     * 分类ID
     */
    private Long categoryId;

    /**
     * 点赞数
     */
    private Long likedNum;

    /**
     * 收藏数
     */
    private Long collectedNum;

    /**
     * 分享数
     */
    private Long sharedNum;

    /**
     * 评论数
     */
    private Long commentedNum;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 用户昵称
     */
    @Field(type = FieldType.Text, analyzer = "ik_max_word")
    private String nickName;

    /**
     * 用户头像
     */
    private String avatarUrl;

    /**
     * 封面图
     * 获取长宽，用于瀑布流布局
     */
    private JSONObject coveredImg;

    /**
     * 内容状态
     */
    private Integer status;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 修改时间
     */
    private Date updateTime;

    /**
     * 图片
     */
    private List<JSONObject> files;

    /**
     * 标签
     */
    @Field(type = FieldType.Text, analyzer = "ik_max_word")
    private List<String> tags;
}
